oracle.pgx.config

## Enum RuntimeConfig.Field

- java.lang.Object
- - java.lang.Enum<RuntimeConfig.Field>
  - - oracle.pgx.config.RuntimeConfig.Field

- All Implemented Interfaces:
    Serializable, Comparable<RuntimeConfig.Field>, ConfigField
  Enclosing class:
    RuntimeConfig

      public static enum RuntimeConfig.Field
      extends Enum<RuntimeConfig.Field>
      implements ConfigField

  Fields of PGX Runtime Config

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `ARRAY_FACTORY_STRATEGY` `java_arrays` = use normal java arrays only (limited to 32bit in length) `java_2d_arrays` = use Java 2D arrays only (achieve arrays of 64bit in length with the cost of indirection) `off_heap_arrays` = use arrays allocated off-heap (achieve 64bit in length without performance penalty, but with the price of breaking out of the JVM) `dynamic` = decide at run-time which allocation strategy to use based on the requested array length
    `BFS_THRESHOLD_READ_BASED` threshold of BFS traversal level items to switch to read-based visiting strategy
    `BFS_THRESHOLD_SINGLE_THREADED` until what number of BFS traversal level items vertices are visited single-threaded
    `CNI_DIFF_FACTOR_DEFAULT` default diff factor value used in the common neighbor iterator implementations.
    `CNI_SMALL_DEFAULT` default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.
    `CNI_STOP_RECURSION_DEFAULT` default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.
    `DFS_THRESHOLD_LARGE` value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.
    `EXPLICIT_SPIN_LOCKS` `true` means spin explicitly in a loop until lock becomes available.
    `LARGE_ARRAY_STRATEGY` [relevant for `dynamic` array factory only] array factory strategy to use when requested array size is exceeding `large_array_threshold`
    `LARGE_ARRAY_THRESHOLD` [relevant for `dynamic` array factory only] use `large_array_strategy` when requested array size is exceeding this number.
    `MAX_OFF_HEAP_SIZE` maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown.
    `NUM_SPIN_LOCKS` how many spin locks each generated app will create at instantiation.
    `PARALLELISM` number of worker threads to be used in thread pool.
    `PARALLELIZATION_STRATEGY` which parallelization strategy to use.
    `SMALL_TASK_LENGTH` task length if total amount of work is small than default task length (only relevant for task-stealing strategies)
    `TASK_LENGTH` default task length (only relevant for task-stealing strategies).
    `USE_STRING_POOL` If `true`, PGX will store string properties in a pool in order to consume less memory on string properties

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getDefaultVal()` Gets the default value of this field.
    `List<String>` | `getKeyAliases()` Gets the key aliases of this field which are also recognized during parsing.
    `Class<?>` | `getType()` Gets the type of this field.
    `boolean` | `isArray()` Checks if this field is an array.
    `boolean` | `isEnum()` Checks if this field is of enum type.
    `boolean` | `isPath()` Checks if this field is a path.
    `boolean` | `isPrimitive()` Checks if this field is of primitive type.
    `boolean` | `isRequired()` Checks if this field is required.
    `String` | `toKey()` Get the key of this field, which is how this field is represented in serialized form.
    `String` | `toString()`
    `static RuntimeConfig.Field` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static RuntimeConfig.Field[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### ARRAY_FACTORY_STRATEGY

          public static final RuntimeConfig.Field ARRAY_FACTORY_STRATEGY

      `java_arrays` = use normal java arrays only (limited to 32bit in length)
      `java_2d_arrays` = use Java 2D arrays only (achieve arrays of 64bit in length with the cost of indirection)
      `off_heap_arrays` = use arrays allocated off-heap (achieve 64bit in length without performance penalty, but with the price of breaking out of the JVM)
      `dynamic` = decide at run-time which allocation strategy to use based on the requested array length

    - #### BFS_THRESHOLD_READ_BASED

          public static final RuntimeConfig.Field BFS_THRESHOLD_READ_BASED

      threshold of BFS traversal level items to switch to read-based visiting strategy

    - #### BFS_THRESHOLD_SINGLE_THREADED

          public static final RuntimeConfig.Field BFS_THRESHOLD_SINGLE_THREADED

      until what number of BFS traversal level items vertices are visited single-threaded

    - #### CNI_DIFF_FACTOR_DEFAULT

          public static final RuntimeConfig.Field CNI_DIFF_FACTOR_DEFAULT

      default diff factor value used in the common neighbor iterator implementations.

    - #### CNI_SMALL_DEFAULT

          public static final RuntimeConfig.Field CNI_SMALL_DEFAULT

      default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.

    - #### CNI_STOP_RECURSION_DEFAULT

          public static final RuntimeConfig.Field CNI_STOP_RECURSION_DEFAULT

      default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.

    - #### DFS_THRESHOLD_LARGE

          public static final RuntimeConfig.Field DFS_THRESHOLD_LARGE

      value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.

    - #### EXPLICIT_SPIN_LOCKS

          public static final RuntimeConfig.Field EXPLICIT_SPIN_LOCKS

      `true` means spin explicitly in a loop until lock becomes available. `false` means using JDK locks which rely on the JVM to decide whether to context switch or spin. Our experiments showed that setting this value to `true` results in better performance.

    - #### LARGE_ARRAY_STRATEGY

          public static final RuntimeConfig.Field LARGE_ARRAY_STRATEGY

      [relevant for `dynamic` array factory only] array factory strategy to use when requested array size is exceeding `large_array_threshold`

    - #### LARGE_ARRAY_THRESHOLD

          public static final RuntimeConfig.Field LARGE_ARRAY_THRESHOLD

      [relevant for `dynamic` array factory only] use `large_array_strategy` when requested array size is exceeding this number. (defaults to `Integer.MAX_VALUE - 3`)

    - #### MAX_OFF_HEAP_SIZE

          public static final RuntimeConfig.Field MAX_OFF_HEAP_SIZE

      maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown. Note: this limit is not guaranteed to never be exceeded because of rounding and synchronization trade-offs. It only serves as threshold when PGX starts to reject new memory allocation requests.

    - #### NUM_SPIN_LOCKS

          public static final RuntimeConfig.Field NUM_SPIN_LOCKS

      how many spin locks each generated app will create at instantiation. Trade-off: small number implies less memory consumption. Big number implies faster execution (if algorithm uses spin locks)

    - #### PARALLELISM

          public static final RuntimeConfig.Field PARALLELISM

      number of worker threads to be used in thread pool. Note: if caller thread is part of another thread-pool, this value is ignored and parallelism of parent pool is used.

    - #### PARALLELIZATION_STRATEGY

          public static final RuntimeConfig.Field PARALLELIZATION_STRATEGY

      which parallelization strategy to use.
      `segmented` = split work into segments, use 1 thread per segment
      `task_stealing` = F/J pool using recursive actions
      `task_stealing_counted` = F/J pool using counted completers to reduce joins

    - #### SMALL_TASK_LENGTH

          public static final RuntimeConfig.Field SMALL_TASK_LENGTH

      task length if total amount of work is small than default task length (only relevant for task-stealing strategies)

    - #### TASK_LENGTH

          public static final RuntimeConfig.Field TASK_LENGTH

      default task length (only relevant for task-stealing strategies). F/J pool documentation says this value should be between 100 and 10000. Trade-off: small number implies more fine-grained tasks are generated, higher stealing throughput. High number implies less memory consumption and GC activity

    - #### USE_STRING_POOL

          public static final RuntimeConfig.Field USE_STRING_POOL

      If `true`, PGX will store string properties in a pool in order to consume less memory on string properties

  - ### Method Detail

    - #### getDefaultVal

          public Object getDefaultVal()

      Description copied from interface: `ConfigField`
      Gets the default value of this field.
      Specified by:
        `getDefaultVal` in interface `ConfigField`
      Returns:
        the default value

    - #### getKeyAliases

          public List<String> getKeyAliases()

      Description copied from interface: `ConfigField`
      Gets the key aliases of this field which are also recognized during parsing.
      Specified by:
        `getKeyAliases` in interface `ConfigField`
      Returns:
        the key aliases

    - #### getType

          public Class<?> getType()

      Description copied from interface: `ConfigField`
      Gets the type of this field.
      Specified by:
        `getType` in interface `ConfigField`
      Returns:
        the type

    - #### isArray

          public boolean isArray()

      Description copied from interface: `ConfigField`
      Checks if this field is an array.
      Specified by:
        `isArray` in interface `ConfigField`
      Returns:
        true, if array

    - #### isEnum

          public boolean isEnum()

      Description copied from interface: `ConfigField`
      Checks if this field is of enum type.
      Specified by:
        `isEnum` in interface `ConfigField`
      Returns:
        true, if enum

    - #### isPath

          public boolean isPath()

      Description copied from interface: `ConfigField`
      Checks if this field is a path.
      Specified by:
        `isPath` in interface `ConfigField`
      Returns:
        true, if path

    - #### isPrimitive

          public boolean isPrimitive()

      Description copied from interface: `ConfigField`
      Checks if this field is of primitive type.
      Specified by:
        `isPrimitive` in interface `ConfigField`
      Returns:
        true, if primitive

    - #### isRequired

          public boolean isRequired()

      Description copied from interface: `ConfigField`
      Checks if this field is required.
      Specified by:
        `isRequired` in interface `ConfigField`
      Returns:
        true, if required

    - #### toKey

          public String toKey()

      Description copied from interface: `ConfigField`
      Get the key of this field, which is how this field is represented in serialized form.
      Specified by:
        `toKey` in interface `ConfigField`
      Returns:
        the key.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Enum<RuntimeConfig.Field>`

    - #### valueOf

          public static RuntimeConfig.Field valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### values

          public static RuntimeConfig.Field[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (RuntimeConfig.Field c : RuntimeConfig.Field.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

Copyright © 2015. All rights reserved.